A “connection-oriented” network, or path-based network, is defined by a network communication protocol that defines a path between a source node and a destination node. Examples of connection-oriented network communication protocols include X.25, Frame Relay, ATM, MPLS, etc. Typically, a packet header contains a field (called ‘HopID’ in this disclosure), which, together with the input port number, defines the path. A switch, along the path, contains a forwarding table that maps an input port, HopID tuple (P1, H1) to an output port, HopID tuple (P2, H2). When a packet with HopID H1 arrives on the input port P1, the switch looks up the (P1, H1) tuple in the forwarding table and finds that it is mapped to the (P2, H2) tuple. The switch replaces H1 with H2 in the HopID field of the packet and then forwards the packet to the output port P2. In conventional connection-oriented networks, in order to achieve any path diversity between the source and destination, multiple paths must be set up, in advance, between the source and destination. However, each path requires state (memory space and attendant system overhead) at the source, the destination and each intervening node, as well as designation of multiple HopIDs. In contrast, in a “connectionless” network, or destination-based network, the table consists of (destination address, output port) entries. Examples of connectionless network communication protocols include IP, Ethernet, etc. In certain topologies there are several potential next hops to a destination. In that case, the table includes (destination address, {output port}) entries, where the { } designates a plurality of output ports per destination address. If each switch contains k possible output ports, and there are h hops to the destination node, it is possible, in a connectionless network, to achieve h^k paths between the source and destination while only multiplying the state of the intervening switches by k. In the conventional connection-oriented network, however, such path diversity would require establishing h^k paths between the source and destination, thus significantly increasing the state and bandwidth requirements for each switch.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.